import pandas as pd
# 设置中文显示对齐（确保列名和内容对齐）
pd.set_option('display.unicode.east_asian_width', True)

# 创建包含职业和城市的DataFrame
df = pd.DataFrame({
    '职业': ['教师', '司机', '编辑'],
    '城市': ['北京', '青岛', '武汉']
})

print("原始DataFrame:")
print(df)
# 输出：
#    职业  城市
# 0  教师  北京
# 1  司机  青岛
# 2  编辑  武汉

print("\n对所有类别列进行哑变量处理:")
print(pd.get_dummies(df))  # 默认对所有字符串/类别列编码
# 输出：
#    职业_教师  职业_司机  职业_编辑  城市_北京  城市_青岛  城市_武汉
# 0        1        0        0        1        0        0
# 1        0        1        0        0        1        0
# 2        0        0        1        0        0        1

print("\n对'城市'列自定义前缀和分隔符:")
# 参数说明：
# - prefix='居住地'：为编码后的列名添加前缀
# - prefix_sep='-'：前缀与类别值之间用 '-' 分隔
# - columns=['城市']：仅对'城市'列进行编码，保留'职业'列原始值
print(pd.get_dummies(df, prefix='居住地', prefix_sep='-', columns=['城市']))
# 输出：
#    职业  居住地-北京  居住地-青岛  居住地-武汉
# 0  教师         1         0         0
# 1  司机         0         1         0
# 2  编辑         0         0         1